home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 March / CMCD0304.ISO / Software / Freeware / Programare / nullsoft / nsis20.exe / Examples / Modern UI / StartMenu.nsi < prev    next >
Encoding:
Text File  |  2004-02-06  |  3.0 KB  |  123 lines

  1. ;NSIS Modern User Interface version 1.70
  2. ;Start Menu Folder Selection Example Script
  3. ;Written by Joost Verburg
  4.  
  5. ;--------------------------------
  6. ;Include Modern UI
  7.  
  8.   !include "MUI.nsh"
  9.  
  10. ;--------------------------------
  11. ;General
  12.  
  13.   ;Name and file
  14.   Name "Modern UI Test 1.70"
  15.   OutFile "StartMenu.exe"
  16.  
  17.   ;Default installation folder
  18.   InstallDir "$PROGRAMFILES\Modern UI Test"
  19.   
  20.   ;Get installation folder from registry if available
  21.   InstallDirRegKey HKCU "Software\Modern UI Test" ""
  22.  
  23. ;--------------------------------
  24. ;Variables
  25.  
  26.   Var MUI_TEMP
  27.   Var STARTMENU_FOLDER
  28.  
  29. ;--------------------------------
  30. ;Interface Settings
  31.  
  32.   !define MUI_ABORTWARNING
  33.  
  34. ;--------------------------------
  35. ;Pages
  36.  
  37.   !insertmacro MUI_PAGE_LICENSE "${NSISDIR}\Contrib\Modern UI\License.txt"
  38.   !insertmacro MUI_PAGE_COMPONENTS
  39.   !insertmacro MUI_PAGE_DIRECTORY
  40.   
  41.   ;Start Menu Folder Page Configuration
  42.   !define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU" 
  43.   !define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\Modern UI Test" 
  44.   !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Start Menu Folder"
  45.   
  46.   !insertmacro MUI_PAGE_STARTMENU Application $STARTMENU_FOLDER
  47.   
  48.   !insertmacro MUI_PAGE_INSTFILES
  49.   
  50.   !insertmacro MUI_UNPAGE_CONFIRM
  51.   !insertmacro MUI_UNPAGE_INSTFILES
  52.  
  53. ;--------------------------------
  54. ;Languages
  55.  
  56.   !insertmacro MUI_LANGUAGE "English"
  57.  
  58. ;--------------------------------
  59. ;Installer Sections
  60.  
  61. Section "Dummy Section" SecDummy
  62.  
  63.   SetOutPath "$INSTDIR"
  64.   
  65.   ;ADD YOUR OWN FILES HERE...
  66.   
  67.   ;Store installation folder
  68.   WriteRegStr HKCU "Software\Modern UI Test" "" $INSTDIR
  69.   
  70.   ;Create uninstaller
  71.   WriteUninstaller "$INSTDIR\Uninstall.exe"
  72.   
  73.   !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
  74.     
  75.     ;Create shortcuts
  76.     CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER"
  77.     CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
  78.   
  79.   !insertmacro MUI_STARTMENU_WRITE_END
  80.  
  81. SectionEnd
  82.  
  83. ;--------------------------------
  84. ;Descriptions
  85.  
  86.   ;Language strings
  87.   LangString DESC_SecDummy ${LANG_ENGLISH} "A test section."
  88.  
  89.   ;Assign language strings to sections
  90.   !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
  91.     !insertmacro MUI_DESCRIPTION_TEXT ${SecDummy} $(DESC_SecDummy)
  92.   !insertmacro MUI_FUNCTION_DESCRIPTION_END
  93.  
  94. ;--------------------------------
  95. ;Uninstaller Section
  96.  
  97. Section "Uninstall"
  98.  
  99.   ;ADD YOUR OWN FILES HERE...
  100.  
  101.   Delete "$INSTDIR\Uninstall.exe"
  102.  
  103.   RMDir "$INSTDIR"
  104.   
  105.   !insertmacro MUI_STARTMENU_GETFOLDER Application $MUI_TEMP
  106.     
  107.   Delete "$SMPROGRAMS\$MUI_TEMP\Uninstall.lnk"
  108.   
  109.   ;Delete empty start menu parent diretories
  110.   StrCpy $MUI_TEMP "$SMPROGRAMS\$MUI_TEMP"
  111.  
  112.   startMenuDeleteLoop:
  113.     RMDir $MUI_TEMP
  114.     GetFullPathName $MUI_TEMP "$MUI_TEMP\.."
  115.     
  116.     IfErrors startMenuDeleteLoopDone
  117.   
  118.     StrCmp $MUI_TEMP $SMPROGRAMS startMenuDeleteLoopDone startMenuDeleteLoop
  119.   startMenuDeleteLoopDone:
  120.  
  121.   DeleteRegKey /ifempty HKCU "Software\Modern UI Test"
  122.  
  123. SectionEnd